﻿ using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace TANKWAR_alpha
{
    class GameGDI
    { 
        //PlayerTank's images in which U means Up, D means Down, L means Left
        //,R means Right
        public Image[] Itank_player ={
                                  Properties.Resources.mytankU,
                                  Properties.Resources.mytankD,
                                  Properties.Resources.mytankL,
                                  Properties.Resources.mytankR
                                  };

         //the RobotTank's images
         public Image[]Itank_robot={
                                  Properties.Resources.tankRobotU,
                                  Properties.Resources.tankRobotD,
                                  Properties.Resources.tankRobotL,
                                  Properties.Resources.tankRobotR
                                  };

        //the group of explosive image in order to make smooth animation effects
         public Image[] Iexplode ={
                                  Properties.Resources.blast1,
                                  Properties.Resources.blast2,
                                  Properties.Resources.blast3,
                                  Properties.Resources.blast4,
                                  Properties.Resources.blast5,
                                  Properties.Resources.blast6,
                                  Properties.Resources.blast7,
                                  Properties.Resources.blast8
                                  };

        //the bullet's images
         public Image Ibomb = Properties.Resources.bomb;

        //the steel's images whose function is to make tank not to pass
        //the removable walls' images
         public Image[] Iwalls ={ 
                                    Properties.Resources.walls,
                                    Properties.Resources.steel,
                                    Properties.Resources.grass,
                                    Properties.Resources.River1,
                                    Properties.Resources._base
                                    
                                };

         public Image Idestroy = Properties.Resources.destory;//base have been destroyed

        //the music images on frontpage
         public Image []Imusic_picture = { 
                                    Properties.Resources.sun_shine_girl,
                                    Properties.Resources.灌篮高手,
                                    Properties.Resources.光辉岁月,
                                    Properties.Resources.恋爱循环,
                                    Properties.Resources.火影忍者,
                                    Properties.Resources.七龙珠,
                                    Properties.Resources.少女时代,
                                    Properties.Resources.天空之城,
                                    Properties.Resources.坦克大战,
                                    Properties.Resources.罪恶王冠
                               };

        //the RobotTankBoss image
         public Image[] Irobot_boss ={
                                         Properties.Resources.tankRobotBossU,
                                         Properties.Resources.tankRobotBossD,
                                         Properties.Resources.tankRobotBossL,
                                         Properties.Resources.tankRobotBossR
                                };

        //the path of music
         public string[] musicPath = { 
                                     @"Music/Sun Shine girl.mp3",
                                     "Music//灌篮高手.mp3",
                                     "Music//光辉岁月.mp3",
                                     "Music//花泽香菜.mp3",
                                     "Music//火影忍者.mp3",
                                     "Music//七龙珠.mp3",
                                     "Music//少女时代.mp3",
                                     "Music//天空之城.mp3",
                                     "Music//原版.wav",
                                     "Music//罪恶王冠.mp3"
                                     };

        
        /**********the following is some important data as well as the sharing center*****************/

         private List<Bullet> playerBullets = new List<Bullet> (); //creat a list of playerBullet

         private List<Bullet> robotBullets = new List<Bullet>();    //creat a list of robotBullet

         private List<TankRobot> tankRobots= new List<TankRobot>();//creat a list of tankRobots

         private List<Explorer> explodes = new List<Explorer>(); //creat a list of explodes

         private List<Wall> walls = new List<Wall>();   //creat a list of walls

         private Random d = new Random();            //used to generate the seed of random

        // List<TankPlayer> _tankPlayer=new List<TankPlayer>();//维护一个己方坦克链表，目前就一人

         private  TankPlayer mytank;
         private TankRobot robotboss;

        // public bool VictoryOrDie;
        
        /*
         * later there are some grasses, rivers, ices added
         */


        /****the following is some properties, enable private data accessed by other classer****/

         public TankRobot RobotBoss
         {
             get { return robotboss; }
             set { robotboss = value; }
         }
        public  List<Bullet> PlayerBullets
         {
             get { return playerBullets;}
         }

        public List<Bullet> RobotBullets
        {
            get { return robotBullets; }
        }
        public List<TankRobot> TankRobots
        {
            get { return tankRobots; }
        }

        public List<Explorer> Explodes
        {
            get { return explodes; }
        }
        public TankPlayer MyTank
        {
            get { return mytank; }
            set { mytank = value; }
        }

        public List<Wall> Walls
        {
            get { return walls; }
        }
        public  Random D
        {
            get { return d; }
            set { d = value; }
        }
    }
}
